home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / MacGzip 1.0 / source / Mac / Globals.c < prev    next >
Text File  |  1995-08-31  |  2KB  |  141 lines

  1. /*
  2.  * MacGzip.c
  3.  * (C) SPDsoft, August 16, 1995
  4.  *
  5.  */
  6.  
  7.  
  8. /*
  9.  * THINK_C 8.0 extra includes (Not in MacHeaders)
  10.  */
  11. #include <Aliases.h>
  12. #include <Sound.h>
  13.  
  14. #include "Prefs.h"
  15. #include "FileTypes.h"
  16. #include "Globals.h"
  17.  
  18.  
  19. #define kBeepsnd_ID            128
  20.  
  21. /*
  22.  * Globals
  23.  */
  24.  
  25.  
  26.  
  27. /*
  28.  * Prototypes
  29.  */
  30.  
  31. void MyBeep( short sound_id )
  32. {
  33.     Handle theSound;
  34.     
  35.     if (nil != (theSound = GetResource( soundListRsrc, sound_id )))
  36.     {
  37. #ifdef __MWERKS__
  38.         (void)SndPlay((SndChannelPtr) nil, (SndListHandle)theSound, false);
  39. #else
  40.         (void)SndPlay((SndChannelPtr) nil, theSound, false);
  41. #endif
  42.         ReleaseResource(theSound);
  43.     }
  44.     else
  45.         SysBeep(1);
  46. }
  47.  
  48.  
  49. /************************************************************************************
  50.  *
  51.  *            SpinCursors by
  52.  *            America Online: LISPer
  53.  *             Internet: tree@uvm.edu
  54.  */
  55.  
  56. #define HiWrd(aLong)    (((aLong) >> 16) & 0xFFFF)
  57.  
  58. long int                CursLastTime;
  59.  
  60. acurHandle InitAnimatedCursor(short acurID)
  61. {
  62.     register short        i=0;
  63.     register short        cursID;
  64.     Boolean                noErrFlag = FALSE;
  65.     acurHandle            FrameList = nil;
  66.     
  67.     
  68.     if( nil != (FrameList = (acurHandle) GetResource('acur',acurID)))
  69.     {
  70.         /* got it! */
  71.         noErrFlag = TRUE;
  72.         
  73.         while( ( i < (*FrameList)->numberOfFrames) && noErrFlag )
  74.         {
  75.             /*
  76.              * The id of the cursor is stored in
  77.              * the high word of the frame handle
  78.              */
  79.             
  80.             cursID = (int) HiWrd((long) (*FrameList)->frame[i]);
  81.             
  82.             (*FrameList)->frame[i] = GetCursor(cursID);
  83.             
  84.             if((*FrameList)->frame[i])
  85.                 i++;            /* get the next one */
  86.             else
  87.                 noErrFlag=FALSE;    /* foo! we couldn't find the cursor */
  88.         }
  89.     }
  90.     
  91.     if( noErrFlag )
  92.     {
  93.         ZeroAnimatedCursor(FrameList);
  94.     }
  95.     else
  96.     {
  97.         ReleaseAnimatedCursor(&FrameList);
  98.     }
  99.     return FrameList;
  100. }
  101.  
  102. void ReleaseAnimatedCursor(acurHandle *FrameListPtr)
  103. {
  104.     int i;
  105.     
  106.     if(*FrameListPtr != nil)
  107.     {
  108.         for( i=0; i < (**FrameListPtr)->numberOfFrames; i++ )
  109.             if ( (**FrameListPtr)->frame[i] != nil )
  110.                 ReleaseResource((Handle) (**FrameListPtr)->frame[i]);
  111.                 
  112.         ReleaseResource((Handle) *FrameListPtr);
  113.     }
  114.     *FrameListPtr = nil;
  115. }
  116.  
  117.  
  118. void ZeroAnimatedCursor(acurHandle FrameList)
  119. {
  120.     CursLastTime = TickCount();
  121.     (*FrameList)->whichFrame = 0;
  122. }
  123.  
  124. void UpdateAnimatedCursor(acurHandle FrameList, long int nowTicks)
  125. {
  126.     /*
  127.      * Update cursor
  128.      */
  129.      
  130.     if( nowTicks - CursLastTime > kTicksCursor ) 
  131.     {
  132.         CursLastTime = nowTicks;
  133.         
  134.         SetCursor(*((*FrameList)->frame[(*FrameList)->whichFrame++]));
  135.         
  136.         if( (*FrameList)->whichFrame == (*FrameList)->numberOfFrames )
  137.             (*FrameList)->whichFrame = 0;
  138.             
  139.     }
  140. }
  141.